<!-- 지시문 쓸 때에는 @써줘! --> 

<!-- 4.language, 2.contentType, 3.pageEncoding:이 페이지 전체가 어떤 코드로 작성됐는지
    7.trimDirectiveWhitespaces: 소스보기하면 지시문이 안 보이고 공백이 보임 그러한 공백들을 제거해주는 지시문
    5.errorPage: 에러 발생시 특정 페이지로 이동-->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" trimDirectiveWhitespaces="true" 
    errorPage="01error.jsp" %>
<!-- 1.import -->
<%@ page import = "java.sql.Connection" %>

<%-- 선언 스크립트릿 --%>
<%! // JSP선언부 정의 
    // 여기에 선언한 메서드는 현재 JSP에서만 사용가능 
    // 이런 탓에 JavaBean을 도입하는 계기 촉발 
    // html과 스크립트릿을 함께 사용하면 코드의 가독성이 떨어지는 현상 발생 
    public String sayHello(String msg){
	return "안녕하세요, JSP!"+msg;
	}
    %>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- 브라우저에 어떤 타입으로 출력될 것인지 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>JSP기초</title>
</head>
<body>
	<h1> JSP 기초 </h1>
	<h3> JSP 지시문 directive </h3>
	<ul>
		<li> JSP를 서블릿으로 변환할 때 JSP 변환기에 전달할 지시내용을 의미 </li>
		<li> page, include, taglib </li>
	</ul>
	<h3> page 지시문 </h3>
	<ul>
		<li> JSP변환기에 JSp특성을 전달함 </li>
		<li> 1. import: JSP에서 사용할 외부 라이브러리 명시</li>
		<li> 2. contentType: response객체의 MIME 형식을 정의 </li>
		<li> 3. pageEncoding: JSP의 문자 인코딩을 정의 </li>
		<li> 4. language: JSP에 사용된 언어 지정 </li>
		<li> 5. errorPage: 에러 발생시 처리할 페이지 명시 </li>
		<li> 6. isErrorPage: 이 JSP가 에러 처리페이지임을 명시 </li>
		<li> 7. trimDirectiveWhitespaces: 공백문자 출력여부 정의 </li>
	</ul>
	
	<h3> JSP 주석 </h3>
	<ul>
		<li> 스크립트릿 내 자바코드에 대한 주석은 자바에서처럼 
		     단일주석(//)과 블럭주석(/* */)모두 사용 가능 </li>
		<li> 스크립트릿에 대한 주석은 &lt;%--와 --%&gt;로 작성 </li>
	</ul>
	
	<h3> JSP 스크립트릿 </h3>
	<ul>
		<li>JSP에서 자바코드는 &lt;%와 %&gt; 사이에 있어야 함. </li>
		<li>이러한 블럭에 작성된 코드를 스크립트릿 scriptlet이라 함.</li>
		<li>즉, JSP에 사용된 자바코드를 스크립트릿이라 함.</li>
		<li>스크립트릿: &lt;%[자바코드]%&gt;</li>
		<li>표현식 스크립트릿: &lt;%=[자바표현식]%&gt;</li>
		<li>선언 스크립트릿: &lt;%![자바코드]%&gt;</li>
		<li>하지만, JSP2.0에 와서는 EL이 많이 발전했기 때문에 서버 측 객체에 접근할 때는 
		    EL을 사용할 것을 강력추천!! </li>
		<li>따라서, JSP에서는 스크립트릿을 이용해서 자바코드를 사용하지 말 것을 권장(jsp-property-group) </li>
	</ul>
	<%--=10/0 //errorPage, isErrorPage테스트 --%>
	<% String msg="Hello, 웹 프로그래밍!!!"; %>
	<%= sayHello(msg) %>
</body>
</html>